function prepara_post(enviar,campos,formid){
	data={};
	jQuery.each(campos,function(key,value){
		tipo=$('[id="'+formid+'"] [name="'+value+'"]').attr('type');
		if(tipo=='checkbox'){
			if($('[id="'+formid+'"] [name="'+value+'"]').prop("checked")==true)
				data[value]=1;
			else
				data[value]=0;
		}else{
			data[value]=$('[id="'+formid+'"] [name="'+value+'"]').val();
		}
	});
	//window.console.log(data);
	return data;
}

function hace_post(urlp,data,asyncv){
	var msgg='';
	$.ajax({
		type: "POST",
		url: urlp,
		async:asyncv,
		data:data,
		success: function(msg){
			msgg=jQuery.parseJSON(msg);
		}
	});
	return msgg;
}

function muestra_msj(formid,campos,resp){
	camposstr=campos.join(',#'+formid+' #');
	$('#'+formid+' #comment'+camposstr).removeClass('ui-state-error');

	if(resp.error==''){
		$('#'+formid+' #'+resp.id.key).val(''+resp.id.value);
		$('#'+formid+' #comment').html(''+resp.mensaje);
		$('#'+formid+' #comment').removeClass('ui-state-error');
		$('#'+formid+' #comment').addClass('ui-state-highlight');
	}else{
		$('#'+formid+' #comment').html(''+resp.error);
		$('#'+formid+' #comment').addClass('ui-state-error');
		$('#'+formid+' #comment').removeClass('ui-state-highlight');

		array_error   =jQuery.makeArray(resp.array_error);
		array_errorstr=array_error.join(',#');
		$('#'+formid+' #comment'+array_errorstr).addClass('ui-state-error');
	}
}

function crea_contextmenu(menu,e){
	$(menu).show();
	$(menu).animate({
			left:e.pageX-20,
			top: e.pageY-150
		}, 100
	);
	$(menu).find('A').mouseover( function() {
		$(menu).find('LI.hover').removeClass('hover');
		$(this).parent().addClass('hover');
	}).mouseout( function() {
		$(menu).find('LI.hover').removeClass('hover');
	});
	$(document).keypress( function(e) {
		switch( e.keyCode ) {
			case 38: // up
				if( $(menu).find('LI.hover').size() == 0 ) {
					$(menu).find('LI:last').addClass('hover');
				} else {
					$(menu).find('LI.hover').removeClass('hover').prevAll('LI:not(.disabled)').eq(0).addClass('hover');
					if( $(menu).find('LI.hover').size() == 0 ) $(menu).find('LI:last').addClass('hover');
				}
			break;
			case 40: // down
				if( $(menu).find('LI.hover').size() == 0 ) {
					$(menu).find('LI:first').addClass('hover');
				} else {
					$(menu).find('LI.hover').removeClass('hover').nextAll('LI:not(.disabled)').eq(0).addClass('hover');
					if( $(menu).find('LI.hover').size() == 0 ) $(menu).find('LI:first').addClass('hover');
				}
			break;
			case 13:{ // enter
				$(menu).find('LI.hover A').trigger('click');
				$(menu).hide();
			}
			break;
			case 27:{ // esc
				$(document).trigger('click');
				$(menu).hide();
			}
			break;
		}
	});
}

function str_pad(input, pad_length, pad_string, pad_type){
	if (input === null) { input = ' '; }
	var output = input.toString();
	if (pad_string === undefined) { pad_string = ' '; }
	if (pad_type === undefined) { pad_type = 'STR_PAD_RIGHT'; }
	if (pad_type == 'STR_PAD_RIGHT') {
		while (output.length < pad_length) {
			output = output + pad_string;
		}
	} else if (pad_type == 'STR_PAD_LEFT') {
		while (output.length < pad_length) {
			output = pad_string + output;
		}
	} else if (pad_type == 'STR_PAD_BOTH') {
		var j = 0;
		while (output.length < pad_length) {
			if (j % 2) {
				output = output + pad_string;
			} else {
				output = pad_string + output;
			}
			j++;
		}
	}
	return output;
}

// Función para animar los expanders
jQuery.wijmo.wijexpander.animations.animateExpander = function (options) {
    if (options.expand)
        options.content.show("puff", options, 300);
    else
        options.content.hide("explode", options, 300);
}

// Función para animar los accordions
jQuery.wijmo.wijaccordion.animations.animateAccordion = function (options) {
    this.slide(options, {
        easing: options.down ? "easeOutBounce" : "swing",
        duration: options.down ? 1000 : 200
    });
}
